﻿#define _CRT_SECURE_NO_WARNINGS 1

//#include <stdio.h>
//int Fact(int n)
//{
//	if (n == 0)
//	{
//		return 1;
//	}
//	else
//	{
//		return n * Fact(n - 1);
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fact(n);
//	printf("%d\n", ret);
//	return 0;
//}
//#include<stdio.h>
//void myprintf(int n)
//{
//	if (n >= 10)
//	{
//		myprintf(n / 10);
//	}
//	printf("%d ", n % 10);
//}
//
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	myprintf(n);
//
//	return 0;
//}
//#include<stdio.h>
//
//int fact(int n)
//{
//	if (n == 1 && n == 2)
//	{
//		return 1;
//	}
//	else
//	{
//		int a = 1;
//		int b = 1;
//		int c = 1;
//		while ( n > 2)
//		{
//			c = a + b;
//			a = b;
//			b = c;
//			n--;
//		}
//		return c;
//	}
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fact(n);
//	printf("ret = %d\n",ret);
//	return 0;
//}
//void myprintf(int n)
//{
//	int i = 0;
//	for (i = 1; i <= n; i++)
//	{
//		int j = 1;
//		for (j = 1; j <= i; j++)
//		{
//			printf("%d * %d = %d ", j, i, i * j);
//		}
//		printf("\n");
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	myprintf(n);
//	return 0;
//}

//#include<stdio.h>
//int is_runnian(int year)
//{
//	if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
//	{
//		return 1;
//	}
//	else
//		return 0;
//	
//}
//int main()
//{
//	int year = 0;
//	scanf("%d", &year);
//	int ret= is_runnian(year);
//	if (ret)
//	{
//		printf("%d年是闰年\n",year);
//	}
//	else
//	{
//		printf("%d年不是闰年\n", year);
//	}
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d%d", &a, &b);
//	printf("交换前：a = %d ,b = %d\n", a, b);
//	a = a + b;
//	b = a - b;
//	a = a - b;
//	printf("交换后：a = %d ,b = %d\n", a, b);
//	return 0;
//}



//编写代码实现：求⼀个整数存储在内存中的⼆进制中1的个数。
//int mycount(unsigned int a)
//{
//	int count = 0;
//	while (a)
//	{
//		if (a % 2 == 1)
//		{
//			count++;
//		}
//		a /= 2;
//	}
//	return count;
//}
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	int count = 0;
//	count = mycount(a);
//	printf("%d\n", count);
//    return 0;
//}
//编写代码实现：求⼀个整数存储在内存中的⼆进制中1的个数。
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	if ((n & (n - 1))==0)
//	{
//		printf("yes!\n");
//	}
//	else
//	{
//		printf("no!\n");
//	}
//	
//	return 0;
//}


//int mycount(int n)
//{
//	int count = 0;
//	while (n)
//	{
//		n = n & (n - 1);
//		count++;
//	}
//	return count;
//}
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	int count = 0;
//	count = mycount(a);
//	printf("%d\n", count);
//    return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int n = 13;
//	n = n | (1 << 4);//将n的二进制数第五位置为1
//	printf("%d\n", n);
//	n = n & ~(1 << 4);//将n的二进制数第五位置为0
//	printf("%d\n", n);
//
//	return 0;
//}

//#include <stdio.h>
//void test1()
//{
//	printf("hehe\n");
//}
//void test2(const char* str)
//{
//	printf("%s\n", str);
//}
//int main()
//{
//	test1(); //这⾥的()就是作为函数调⽤操作符。
//	test2("hello bit.");//这⾥的()就是函数调⽤操作符。
//	return 0;
//}
#include<stdio.h>
struct point
{
	int x;
	int y;
};
int main()
{
	struct point p = { 10,20 };
	struct point* ptr = &p;
	ptr->x = 20;
	ptr->y = 30;
	return 0;
}